<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of teste
 *
 * @author Lucas Pinheiro
 */
class Login extends MY_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model( 'user_model' );
        $this->load->model( 'pessoas_model' );
        $this->parser->set_template( 'template' );
        $this->load->language( 'login_layout' );
    }

    public function index() {
        if( $this->session->userdata( 'usuario_id_user' ) !== NULL ) {
            redirect( base_adm( 'dashboard' ) );
        }
        $v_dados = array( );
        $v_dados['username'] = $this->lang->line( 'lang_username' );
        $v_dados['password'] = $this->lang->line( 'lang_password' );
        $v_dados['remember'] = $this->lang->line( 'lang_remember' );
        $v_dados['forgot'] = $this->lang->line( 'lang_forgot' );

        $this->parser->set_title( 'Login' );
        $this->parser->set_js( 'login/js/flexi-background.js' );
        $this->parser->set_js( 'login/js/login.js' );
        $this->parser->set_css( 'login/css/flexi-background.css' );
        $this->parser->set_css( 'login/css/styles.css' );
        $this->parser->site_view( 'login', $v_dados );
    }

    public function autentica() {

        $v_dados = array( );

        $this->form_validation->set_rules( 'username', 'Username', 'trim|required' );
        $this->form_validation->set_rules( 'password', 'Password', 'trim|required' );

        if( $this->form_validation->run() == FALSE ) {
            $v_dados = $this->form_validation->erros();
        } else {
            $params = array( );
            $params['CAMPOS'] = 'u.*, p.nome';
            $params['AND']['username'] = $this->input->post( 'username' );
            $params['AND']['password'] = md5( $this->input->post( 'password' ) );
            $params['JOIN'][] = array(
                'TABELA' => 'pessoas as p',
                'TIPO' => 'INNER',
                'AND' => 'u.id_pessoas = p.id_pessoas',
            );
            $b_consultar = $this->user_model->consultar( $params );

            if( $b_consultar != null ) {
                $b_consultar = $b_consultar[0];
                if( $b_consultar->status == 1 ) {
                    $v_dados['cod'] = 999;
                    $v_dados['redirect'] = base_adm( 'dashboard' );
                    $v_dados['msg'] = 'Usuário ativo, redirecionando';
                } else if( $b_consultar->status == 2 ) {
                    $v_dados['cod'] = 222;
                    $v_dados['msg'] = 'Usuário inativo no sistema';
                } else if( $b_consultar->status == 3 ) {
                    $v_dados['cod'] = 222;
                    $v_dados['msg'] = 'Usuário banido do sistema';
                } else if( $b_consultar->status == 4 ) {
                    $v_dados['cod'] = 333;
                    $v_dados['msg'] = 'Usuário não foi ativado, enviando ativação';
                    $v_dados['redirect'] = base_adm( 'login/ativacao/' . $b_consultar->id_user );
                }

                $session = array( );

                foreach( $b_consultar as $key => $value ) {
                    $session['usuario_' . $key] = $value;
                }
                $session['usuario_tipo_descricao'] = ($session['usuario_tipo'] == 1 ? 'Administrador' : 'Basico');
                //pre($session);
                $this->session->set_userdata( $session );
                //pre($this->session->all_userdata());
            } else {
                $v_dados['cod'] = 222;
                $v_dados['msg'] = 'Usuário não localizado';
            }
        }
        echo json_encode( $v_dados );
    }

    public function logout() {
        $this->session->sess_destroy();
        foreach( $this->session->all_userdata() as $key => $value ) {
            $this->session->unset_userdata( $key );
        }
        redirect(base_url('adm'));
    }

    public function foto() {
        $params = array( );
        $id = explode( '.', $this->uri->segment( 5 ) );
        $params['AND']['id_pessoas'] = $id[0];
        $b_consultar = $this->pessoas_model->get( $params );

        header( 'Content-Type: image/jpeg' );
        echo $b_consultar->foto;
    }

}